1. Field of the Invention
The present invention relates to a computer program product, system, and method for generating a view for a schema including information on indication to transform recursive types to non-recursive structure in the schema.
2. Description of the Related Art
An Extensible Markup Language (XML) schema is a description of elements in a document encoded using the XML language. The XML schema may also be used to define a data model, also known as a meta model comprising a definition of a hierarchical representation of nodes that represent the data and relationship of data content for a data model. XML schemas that define more complex data models may have 1000s of nodes arranged in a complex hierarchy of trees of nodes. A large scale schema may be comprised of multiple XML Schema Definition (XSD) files and provides a definition of large scale trees of nodes and data content.
An XML schema may include a recursive data type. An XML schema is said to be recursive when the type definition allows for elements of the same name and type to appear in their own definition. Recursion may be explicit or implicit such that recursive elements defined with the recursive data type will themselves contain other instances of that same type. The presence of recursive types significantly increases the complexity of specifying transformations between XML datasets as well as between XML datasets and datasets with non-hierarchical formats such as relational. The XML schemas which define the structure of XML data represent the recursive data structures via recursive type definitions. Transformations to, from, and between XML datasets are typically specified as mappings to and from the types defined in the XML schemas. Such mappings serve to document the relationships between datasets and also provide the basis for automated transformation tools that convert one dataset into another. But in the presence of recursive types, simple mappings are inherently ambiguous since it can be unclear which, and how many, levels of recursive structure are being mapped.